package test.springboot.config;

import jakarta.servlet.http.HttpServletRequest;
import top.lingkang.finalsession.FinalSessionConfig;
import top.lingkang.finalsession.core.IdGenerate;
import top.lingkang.finalsession.jakarta.FinalSessionFilter;

import java.util.UUID;

/**
 * @author lingkang
 * Created by 2024/3/10
 */
//@Configuration
//@Order(-1995)
public class WebSessionConfig extends FinalSessionFilter {
    @Override
    protected void configurer(FinalSessionConfig config) {
        // 对项目进行配置
        // 设置cookie的名称，默认session id存储在cookie中
        config.setSessionName("token");
        // 自定义session存活时长 单位：毫秒
        config.setMaxValidTime(19951995L);
        // 配置id生成规则
        config.setIdGenerate(new IdGenerate<HttpServletRequest>() {
            @Override
            public String generateId(HttpServletRequest request, FinalSessionConfig config) {
                // 自定义id的值，可以根据不同id前缀访问不同redis集群，从而实现集群无限扩展
                return UUID.randomUUID().toString();
            }
        });
    }
}
